2024 Hungarian Grand Prix¶
Sziasztok menedzserek and welcome to the Fantasy League report for the 2024 Hungarian Brand Prix. The Budapest circuit, at the Hungaroring, was the first Grand Prix circuit behind the Iron Curtain and has become quite the staple of the F1 calendar over the years, holding a Grand Prix every year since 1986. Hungary is well known for providing dramatic late-action races, weather-affected races, and debut race winners. Damon Hill, Fernando Alonso, Jenson Button, Heikki Kovalainen, and Esteban Ocon have all won their debut (and in some cases, only) race at the Hungaroring in the past. Let's get into the report.
Formula 1 and the FIA announced the 2025 sprint calendar, with a repeat of the 6-circuit format for next year too, though there are some surprising changes to the sprint calendar for next year. Firstly, the Austrian Grand Prix will not hold a sprint race in 2025 despite holding one every year since the sprint format was introduced. China, Miami, Belgium, Austin, Brazil, and Qatar will host a sprint in 2025, which means it is essentially the same sprint calendar as this year with Belgium replacing the Austrian Sprint weekend. It's a shame really because Spa is quite a long circuit and I'm not convinced it lends itself very well to the sprint format. That being said, the sprint format does need a revamp. It's all well and good doing the qualifying sessions in order with the races following them, unlike last year, but F1 needs to either commit or give up with the sprint races. F2 is mega exciting, and the sprint format really works, so either take inspiration from the lower categories, or give up. Have one qualifying session, do something interesting for the grid in the sprint, and then do the race. It's simple. That being said, Domenicali stated that the sprint has been a great success for formula 1, and reports that the viewership is up by 40% over a weekend, so something is clearly showing them that what they're doing is working.
Alpine continue to make headlines this week with many questioning where their performance went during the British Grand Prix weekend. The French outfit had looked to be back on the rise up the grid at the start of the triple header but things went terribly wrong for Pierre Gasly between qualifying and the race and then again with an early retirement before the race really got going. Esteban Ocon's performance was not much to shout about either, starting eighteenth and finishing in sixteenth last time out. Perhaps this is just a case of not really understanding what it is they have done to the car, or perhaps the Austrian and Spanish Grand Prix really flattered them, only time will tell. The development headlines aren't just for the French team though, Mercedes and Aston Martin are also making headlines for different reasons. Mercedes seem to be back! Though I'm not sure how many times I've heard that and then they put in a poor performance over the last couple of years. Nevertheless, a back-to-back win for the German manufacturer in the last two races would indicate that they have finally found their groove. Who knew all it took was a flexible front wing, you know, the one they basically invented. Anyway, they have certainly found out how to maximise the performance of their 2024 car, but is it too little too late in terms of a championship campaign? We will see. Aston Martin, on the other hand, have done nothing but diminish back into the midfield from which they worked so hard to escape. The upgrade history of the Aston Martin, Racing Point, Force India, or whichever guise they go under, has never been particularly good. They always seem to come out of the blocks raring to go and then drop off throughout the season. Well star man Fernando Alonso is pretty frustrated to have passed up a potential Mercedes contract (if you believe the rumours) and put faith in the classic brand only to then be fighting with the Haas cars for a point. If things don't turn around soon, I could see Fernando breaking up that contract and going off to do something else.
Haas are also making the headlines this week, extending their technical partnership with Ferrari (no surprise there since they just signed a Ferrari academy driver) but also confirming that Kevin Magnussen will not be driving for them in 2025. Kevin has had an interesting past, filling in at McLaren, moving to Renault, then doing a stint at Haas before taking a couple of years out to then return in 2022 to save them from the Mazepin era. It seems, however, that that particular partnership has now run its course and the two will part ways again at the end of the season. As far as I know, Magnussen has not signed another contract yet, but there's very few places the Dane could go. He does have a bit of a reputation for racing in a very "do or die" manner, and not a lot of teams will want that. Perhaps if Williams don't get Sainz, we could see Magnussen in blue? But who knows. My guess is he will go off to race in Indy Car like Grosjean did when he left Haas. It does rather beg the question, who will replace him at Haas? Well if you believe the rumour mill, that second Haas seat is reserved for a rather tall Frenchman who was recently dropped from yet another team. Yep, that's right, Esteban Ocon is rumoured to be going to Haas next year. Not sure this is necessarily an improvement for the American team given Ocon's reputation for racing his teammates hard, but they don't have a huge amount of choice. The last time Haas cleared their lineup and started again, they dropped to the back of the grid, so let's hope that they can keep their recent run of form.
Finally, the Red Bull drama. When will it end? Well, in case you're not sure which Red Bull drama I'm referring to, it's the Perez situation. Sergio Perez has been nothing short of embarrassing to the team this year, and even last. In 2023 Max Verstappen, Perez's teammate, won 19 of the 22 races, 4 of the 6 sprint races, and dominated the entire season and broke a bunch of records. Perez, on the other hand, didn't even score half of the points Max scored, only won 2 races and 1 sprint, and spent most of the rest of the season causing huge amounts of damage to the car, finishing in the lower points positions, and starting way down the order due to qualifying blunders, including a crash at the Monaco Grand Prix that allowed the world to see the underside of the car, thus giving away Red Bull's secret weapon. This year, Sergio again started strong with three second places in the first four races. Since then, however, Sergio has not been on form, only scoring one more podium at the Chinese Grand Prix, and a handful of points paying positions, two retirements, and a P17 last time out. How much longer can this go on before the previously ruthless team step in and do something? Well it turns out that they wanted him for another year, signing a contract extension a few months ago. However, they do have a problem. See Red Bull have two drivers at VCARB waiting for that seat, plus Lawson in Super Formula, plus an army of junior academy drivers waiting for that promotion. So they have to make a choice, continue with Sergio Perez and hope he finds his groove, or start being ruthless. Personally, I can see a situation where Daniel Ricciardo gets his final shot at the Red Bull seat this year, Lawson gets promoted to the RB team and then it's a straight fight next year between Tsunoda and Lawson to replace Daniel, but for whatever reason, Horner continues to support Perez, even coming out on TV and stating that he has had him over to the house to discuss his feelings and what could be done better. This is not the ruthless team that once swapped Albon and Gasly because of a few minor incidents.
import os
import subprocess
import src.dataIO as io
import src.webDataIO as wio
from pathlib import Path
year = 2024
race = 'Hungary'
Grand Prix Report¶
Earlier in the week, images and videos began circling showing that the Hungaroring track was flooded, but the heat soon turned up to dry out the track before any racing action could get going. A shame really, we've had a couple of wet races this season so far and they always bring up some drama. We were also joined by F2 and F3 this weekend, and I bring that up because it was quite a special weekend for all three categories. Carlos Sainz topped FP1, the Ferrari finally showing some pace right up until FP2 where Leclerc binned it at turn 4, spiralling into the wall. FP2 was topped by Norris, who gapped Verstappen by 0.243 seconds. The Brit also managed to edge out the reigning world champion in FP3 too, to make it nearly a full sweep in the build up to qualifying. McLaren certainly looking like they now have the best car on the grid.
Sprint Qualifying¶
No Sprint Qualifying.
#wio.outputs_sq_data(
# year=year,
# race=race)
Sprint Race¶
No Sprint Race.
#wio.outputs_sprint_data(
# year=year,
# race=race)
Qualifying Report¶
The heat wave subsided briefly as action began on Saturday for qualifying. Q1 saw the tail end of a rain shower that affected the lower categories, bringing with it some low-grip action at the start of the session. Slick tyres were used, with no one daring to brave the intermediate tyre, and it was clear that perhaps this was the right thing to do, but some found that there was a limit to the available grip. After putting in a decent lap time, and looking to be on some good form, Logan Sargeant found himself heading towards a barrier at turn 1. The American driver was lucky to escape with some minor front wing damage, flat-spotted tyres, and perhaps a little suspension readjustment to make it through to Q2. Others were not so lucky. George Russell was too early in the session and didn't have enough fuel for a second run as the track began to ramp up, he found himself eliminated in the dying stages by Kick Sauber's Valtteri Bottas, the irony. Sergio Perez was the other big name out in Q1, though this has become quite the frequent occurrence lately, the Mexican driver found himself backwards in a barrier in the second sector as he got up onto the kerbs and span dramatically. The rear wing, rear suspension, side pod, and floor all suffering huge damage. These two were joined by Guanyu Zhou, Esteban Ocon, and Pierre Gasly, the Alpine drivers not able to find any pace in their newly upgraded machines.
Q2 very nearly saw the second Mercedes elimination of Valtteri Bottas, the Fin almost knocking out ex-teammate Lewis Hamilton in the dying moments. No major drama in this session apart from Mercedes nearly getting it wrong again. The eliminations were Nico Hulkenberg, Valtteri Bottas, Alex Albon, Logan Sargeant, and Kevin Magnussen. The Haas car looked good again but was no match for the mighty VCARB when it mattered. Logan looked like he was going to out-qualify Alex for the first time this year, but sadly that didn't happen either.
Q3 then. This is where, in my opinion, Max's weekend began to unravel. The reigning champ felt he didn't have the balance in the car right all throughout qualifying. With rain looming over the session yet again, the Dutchman was first on track to put in a respectable lap time. All the drivers went out early to get their laps in, and Lando Norris shot to the top of the timing screens with a 1:15:227. It was a quick turn around in the pits for some fresh rubber as the rain began to come down and second laps went in. Piastri was the big improvement on the second runs, but just as others looked to be improving, RB's Yuki Tsunoda mounted the exit kerb at turn 5 and leapt into the barrier and catch fence, bringing out another red flag with 2 minutes 13 seconds on the clock. The track was promptly cleared and the session resumed, though by this point the rain had started to fall a bit heavier, the track had cooled, and no one really improved except RB's Daniel Ricciardo who pipped his teammate to ninth place. That meant that Lando Norris and Oscar Piastri had locked out the front row for the Woking team, ahead of Max Verstappen, Carlos Sainz, and Lewis Hamilton. Charles Leclerc had a decent session to finish in sixth, with the two Aston Martins looking back on form on the fourth row of the grid. Ricciardo and Tsunoda rounded out the top ten.
wio.outputs_qualifying_data(
year=year,
race=race)
Race Report¶
Right, I mentioned F2 and F3 earlier in the report and here is why. This weekend, as with many Hungarian Grand Prix in the past, we had three new winners in all three categories. In F3 Nikola Tsolov earned his first feature race win for ART Grand Prix, leading from start to finish in a perfectly executing a perfect race in a usually dramatic series. In F2, Kimi Antonelli took his first feature race victory after a long stint on the harder compound and a safety car at the perfect time to execute a cheap pit stop put him in a favorable position to use his fresh tyres to attack the top three drivers in the dying stages of the Grand Prix. The Mercedes junior finished 11 seconds up the road in the end, as the race finished under time-conditions. In F1, Oscar Piastri took his first ever Grand Prix victory, though we will get into why that statement feels a bit flat very shortly. A weekend of firsts then!
Let's not delay the McLaren talk much longer then. For many months, if not a year or so, now I have been saying that McLaren are going to have a big problem on their hands when Oscar Piastri eventually figures out the tyres and can put in his one-lap performance over a stint. This is something that Lando has been able to do for a while given his lengthy experience at the Woking team. McLaren have never stated that they have a lead driver, much like Mercedes and Ferrari have had in the past and how Red Bull usually treat their driver lineup. Speaking of the past, the last few times a top team has had a non-preference driver lineup, the two have usually reached a boiling point and collided with each other. I'm thinking 2010 Vettel and Webber, 2016 Hamilton and Rosberg, 2018 Verstappen and Ricciardo, 2019 Vettel and Leclerc, and the numerous times Esteban Ocon has hit Perez or Gasly in the midfield. It simply can't be done. Ferrari have come so close to having this problem recently, I'm thinking Monza 2023 as a prime example, but somehow both Sainz and Leclerc have managed to keep it pretty clean on track, though there have been some strong words between the two and their race engineers. But now McLaren have got to return to their ruthless selves. Too long they have been in the upper-midfield, lower-top tier places and just happy to have two drivers who can put in good performances. McLaren have, this season alone, bottled a fair few crucial decisions that have cost them race victories, and many are saying that they have this underdog mentality despite having a good car. Well they turned up to Hungary with arguably the best car on the grid, locking out the front row and pulling away at the start of the race. Lando tried to push Oscar into the barrier off the start, which nearly cost him position to Max, and allowed Oscar to get through. The Australian pulled away from his more experienced teammate for most of the first and second stint, but began to fall off at the end of the second stint and start of the third stint. Both times McLaren pitted Norris first, with the excuse that they were protecting from Max and Lewis behind with the undercut being so powerful. In the second-round of pit stops, this meant that Lando overtook his teammate, who had led most of the Grand Prix by this point. Then, somehow, McLaren managed to fumble the bag with this too. As Lando pitted, McLaren communicated to Oscar that they would switch the positions back after his pit stop. Here's how it happened:
- On lap 47 Lando Norris pitted and Oscar was told "OK Oscar, Lando has pitted to cover Hamilton to make sure he covers Hamilton. We'll manage that situation, best pace from you now. Best pace" and "Best pace. Don't worry about Lando".
- On lap 48 Oscar pitted and Lando was told "OK Lando, Oscar has just pitted. He'll likely come out just behind you. We'd like to re-establish the order, at your convenience".
- On lap 49 Lando was told "Lando, still 21 laps after this one. You do have the current fastest lap, look after the tyres".
- On lap 51 Oscar was told "Ok Oscar, so, once you get to Lando, we'll swap positions. We'll swap positions, but we want to avoid Lando having to give up a lot of race time".
- On lap 53 Lando was asked for a radio check, responded, and was then told to save tyres at turn 4 and turn 11.
- On lap 56 Lando was told to save more tyres and "we do want to let Oscar through". Lando responded with "well you should have boxed him first then, surely no?", followed by a "doesn't matter", to which he responded "I mean it does, to me maybe".
- On lap 57 "And Lando, we still thick you're using the tyres too much at turns 4 and 11 and the rears at exit turn 6 and turn 9. Oscar is 3.5 behind, we know you'll do the right thing".
- On lap 58 "And Lando, Hiroshi is stressed about the tyres".
- On Lap 59 "Turn 4, turn 11, it's going to get boring".
- On lap 61 "Ok Lando, 10 laps to go, we think both cars are using their tyres too much. Just remember every single Sunday morning meeting we've had". To which Lando responded "Yeah, well tell him to catch up please".
- On lap 64 "Lando, he can't catch you up. You've proved your point and it really doesn't matter". To which he responded "He's on much quicker tyres. I mean, I would have tried to undercut anyway. If I did, I would have got more". He was told "Mate, we did the stop sequence in this order for the good of the team. I'm trying to protect you mate, I promise, I'm trying to protect you".
- On lap 66 "And Lando, there are five laps to go. The way to win a championship is not by yourself, it's with the team. You're going to need Oscar, and you're going to need the team".
- On lap 67 Oscar said "The longer we leave this, the riskier it gets", to which his engineer responded "Understood Oscar, we're managing it".
- On the same lap, Lando was told "A potential safety car now would make this very awkward. Please do it. Now".
- Finally on lap 68, Lando slowed and let Piastri take the lead, he said "Yeah, you don't need to say anything".
Now, what is so wrong with all of this? Well McLaren somehow managed to fumble an easy 1-2, Oscar's first race win, and Norris' title challenge all within the space of 20 laps. They put their drivers, and themselves, in a no-win position by pitting Norris early to cover Hamilton, which they never needed to do, only to then realise they had favoured one driver over the other and decided to publicly embarrass Norris over the radio and initiate some emotional blackmail over the airwaves. On top of that, they didn't communicate to Oscar what the plan was, properly at least, for a good 10 or so laps. Now, I have been watching Formula 1 for quite some time and, because of this, I can remember Kimi Raikkonen's, Jenson Button's, Fernando Alonso's, Lewis Hamilton's, Sebastian Vettel's, Nico Rosberg's, Daniel Ricciardo's, Max Verstappen's, and many others' first wins. These were all highly emotional days for those drivers, Jenson and his wide eyes springs to mind, as they achieved a fantastic race win that they worked hard for. I'm not saying Oscar Piastri didn't work hard for the win, but he was definitely handed it on a plate by his teammate, who was clearly faster. That rather detracts from the achievement, and that day will forever be remembered for what Lando did, not the achievement of Oscar. That's quite sad. So well done McLaren for ruining that one.
Apart from the performance of the McLaren, the two papaya boys were assisted during the race by the fact that Max Verstappen had, for him, an absolute shocker. That's right, you've all suspected that I am a Max fan for too long, I am about to have a dig at the reigning champion now. Max occasionally shows signs of the immature driver that turned up at the age of 17 and won in his first outing for Red Bull, and it really only happens when the car or the team, or in this case both, are not working in harmony. He reminds me of a late-McLaren Lewis Hamilton, and the two are quite similar in their early career to be honest. They both walked into a reasonably good team quite early and had things a little easier than most do, which means when things go wrong, they feel far worse because normally the car and the team work so well together. There's plenty of rumours circling that Red Bull were running some illegal parts at the start of the season that they have secretly been forced to remove, but for now that's just a rumour. Regardless, the Red Bull was just not on form this weekend at all, and that's not surprising as it wasn't quite all there at Monaco either. The whole feeling was amplified by the fact that Max has been fighting at the front by himself for most of the season, so essentially with one hand behind his back, and the team wasn't quite focused with their, usually, bulletproof strategy. What we got was a very frustrated reigning champion who perhaps raced angry. Towards the end of the race, he was catching former rival Lewis Hamilton, and as the two overtook a Williams, Max saw an opportunity to pass and dived up the inside into turn 1. Now, the stewards say Lewis turned in and could have done more to avoid this incident, Max says Lewis moved under braking, and Lewis said it was a racing incident; either way, the front right wheel of the Mercedes collided with the rear left wheel of the Red Bull as the latter locked up into the corner, and the Red Bull went flying into the air resting only on the front wing. Somehow, both escaped without any substantial damage and were able to finish the race. If you want my opinion, I think that it is six of one, half a dozen of the other. Yes, Max went in too hot and probably wasn't going to make the corner, but you can also see that he doesn't lock up until he sees Lewis' car moving to the right. Yes, Lewis was taking a right hand corner, but he has time to avoid Max's wheel by braking and straightening up the wheel, like most people do at turn 3 Austria. These two race each other so hard all the time, and at least the Stewards decided not to assign blame. Lewis came home in third, Max in fifth behind Charles Leclerc, who quietly had a reasonable race, and ahead of Sainz in sixth who also had a quiet but decent race.
After a shocking qualifying for both of them, Sergio Perez and George Russell finished in seventh and eighth, though I'm still not quite sure how that happened. I believe they benefited from running long on the hard tyres and then going like hell in the final two stints. It also helps that they're driving cars that are significantly faster than the rest of the midfield. Yuki Tsunoda put the poor qualifying behind him too, bringing his RB home in ninth place ahead of Lance Stroll who somehow managed to beat his teammate to the points.
Speaking of Fernando Alonso, many of you may have seen how frustrated he was in parc ferme. I'm still not sure if this was after qualifying or after the race, but he can be seen ripping off his jacket to get weighed and then throwing it on the floor for his team rep to pick up. The Spaniard has been feeling let down by the Aston Martin team lately, with their lack of performance putting their drivers back in the clutches of RB and Haas for the fight for the final points, while previous rivals Mercedes and McLaren have made huge leaps forward in pace. It's still not a great look, and I'm not condoning his behaviour, but I have also seen clips of the two Astons being called into a fake parc ferme populated with the APX GP cars, so if he'd had a bad race and then was used as a movie prop, I'm not surprised that he's feeling rather annoyed.
Apart from Gasly, who suffered another retirement, everyone else seemed to have quite a quiet race. There was a severe lack of incidents throughout the race, with everyone sort of putting in reasonable performances. All that is, but the Kick Sauber drivers who slipped down the order during the race. A shame, but it does seem that Audi are tactically tanking Sauber's results to gain on development time for 2026. It could be a move that pays dividends in the new regulation era.
wio.outputs_race_result(
year=year,
race=race)
Fastest Lap¶
George Russell takes the fastest lap this week, pitting late in the race to try and chase down Sergio Perez (unsuccessfully). The Austria race winner put in a lap time of 1:20.305 on lap 55. Some two-tenths faster than Logan Sargeant, who just missed out on some glory.
wio.outputs_fastest_lap(
year=year,
race=race)
Fantasy League Scores¶
Lineup Scores¶
Ok I think I have waffled enough, let's see what this race has done to the fantasy league standings. First let's begin with the driver/team points for the grid. The data you see below are the current total points and values for each driver and team. Values are taken going into the race and updated for next race after I submit the report.
weekly_scores = {
"Name": ["Points", "Value"],
"Race": [f'{race}'],
"Ocon": [62, 10.5],
"Gasly": [21, 9.9],
"Stroll": [81, 15.1],
"Alonso": [115, 16.6],
"Leclerc": [304, 23.0],
"Sainz": [279, 22.2],
"Bearman": ["N/A", "N/A"],
"Magnussen": [81, 10.8],
"Hulkenberg": [74, 9.7],
"Bottas": [33, 7.7],
"Guanyu": [46, 7.5],
"Norris": [341, 26.1],
"Piastri": [292, 22.3],
"Hamilton": [247, 22.8],
"Russell": [236, 20.9],
"Tsunoda": [72, 10.5],
"Ricciardo": [32, 10.9],
"Verstappen": [410, 31.0],
"Perez": [224, 22.7],
"Albon": [11, 9.0],
"Sargeant": [6, 5.2],
"Alpine": [125, 9.9],
"Aston Martin": [275, 15.4],
"Ferrari": [733, 23.7],
"Haas": [195, 10.4],
"Kick Sauber": [87, 7.0],
"McLaren": [699, 25.8],
"Mercedes": [603, 22.6],
"RB": [178, 10.7],
"Red Bull": [859, 29.0],
"Williams": [40, 6.6]}
root = Path().absolute()
if Path(f'{root}/Data/{year}/Lineup/{race}_Results.json').is_file():
pass
else:
io.save_json_dicts(
out_path=Path(f'{root}/Data/{year}/Lineup_Weekly.json'),
dictionary=weekly_scores)
subprocess.run(["python", "lineup.py", f'{year}'])
CompletedProcess(args=['python', 'lineup.py', '2024'], returncode=0)
It was all about McLaren this week, with Oscar Piastri topping the board with a whopping 46 points ahead of teammate Lando Norris in second with 28 points. The extra points he gets from gaining a position really coming in clutch there. These two are followed by the Mercedes pairing of George Russell and Lewis Hamilton who bring home 27 and 26 points, each. It's kind of insane how George finished eighth and yet beats his teammate in the fantasy league scores. Rounding out the top five is Sergio Perez and Charles Leclerc with 20 points each. Pierre Gasly is having a pretty torrid time of it lately, the Frenchman is again at the bottom of the table with -19 points, as the only driver to retire from the Grand Prix. Guanyu Zhou and Nico Hulkenberg bring a pair of zeroes home from their weekend, just behind Sargeant, Ricciardo, and Bottas who all bring home 1 point in third. In fourth it's Yuki Tsunoda and Fernando Alonso with a pair of 4s, and Alex Albon rounds out the bottom five with 5 points.
No surprise that McLaren were the team to beat this week either then, the Woking outfit bringing 74 points back from this weekend, ahead of Mercedes and Ferrari with 58 points and 47 points, respectively. Alpine suffer a 5 point loss at the bottom of the table, with Kick Sauber only scraping 2 points. Williams round out the bottom three with 9 points.
Max continues to reign at the top of the table, but the chasing pack are now breathing down his neck. The Dutchman has 410 points to his name, ahead of Lando Norris in second with 341 points. Charles Leclerc clings on to that third position with 304 points, ahead of race winner Oscar Piastri with 292 points. Carlos Sainz rounds out the top five with 279 points, but the Mercs are coming! Logan Sargeant stays at the bottom of the table for another week, the American driver only has 6 points to his name, behind teammate Alex Albon with 11. Pierre Gasly comes tumbling down the order with 21 points, behind Daniel Ricciardo with 32 points. Valtteri Bottas rounds out the bottom five with 33 points.
Red Bull are starting to feel under pressure at the top of the table now, the reigning champs are on 859 points but have had a couple of low-scoring weeks compared to their rivals. Ferrari are clinging on to second place with 733 points, ahead of McLaren in third with 699 points. Williams are at the bottom of the table with 40 points, behind Kick Sauber with 87 and Alpine with 125 points.
points_files = [
'Driver_Points_Bar.png',
'Team_Points_Bar.png',
'Driver_Sum Points.png',
'Team_Sum Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [Path(f'{directory_path}/{race}_{file}') for file in points_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
Max hits an all time record value of $31, despite not winning a race since Spain. Lando Norris continues to climb with a value of $26.1. Charles Leclerc's value is dropping again, the Monaco race winner is down to $23.0 ahead of Lewis Hamilton with $22.8. Sergio Perez rounds out the top five with a value of $22.7. Logan Sargeant continues to drop in value, now brushing up close to the $5 mark with a value of $5.2. The Kick Sauber drivers are next with Guanyu Zhou and Bottas valued at $7.5 and $7.7, respectively. Alex Albon next with a value of $9.0 and Nico Hulkenberg rounds out the cheapest five with a value of $9.7.
Red Bull also reach the $29.0 mark, something their star driver did last year, McLaren are valued at $25.8, and Ferrari at $23.7. Williams are your cheapest team with a value of $6.6, behind Kick Sauber at $7.0, and Alpine dropping down to $9.9.
All values given in millions of dollars. Values representative of the pre-race value, i.e., how much would it cost to have them in your team for the race.
average_files = [
'Driver_Values_Bar.png',
'Team_Values_Bar.png',
'Driver_Average Points.png',
'Team_Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in average_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
Your best value for money this week was race winner Oscar Piastri who brought home a points per value of 2.06 ppm ahead of George Russell with 1.29 ppm and Lewis Hamilton with 1.14 ppm. Lando Norris is next with 1.07 ppm and Sergio Perez rounds out the top five with 0.88 ppm. Pierre Gasly was your worst value for money this week, unsurprisingly, with a points per value of -1.92 ppm. Guanyu Zhou and Nico Hulkenberg were worth 0 ppm this week, with Daniel Ricciardo coming in with the lowest positive points per value of 0.09 ppm. Valtteri Bottas is next up with 0.13 ppm, behind Logan Sargeant with 0.19 ppm to round out the bottom five.
McLaren were also your best value for money, topping the table with 2.87 ppm ahead of Mercedes and RB with 2.57 ppm and 2.34 ppm, respectively. Alpine were your worst value for money with -0.51 ppm, behind Kick Sauber with 0.29 ppm and Haas with 0.96 ppm.
ppm = points per million dollars.
ppv_files = [
'Driver_Points Per Value_Bar.png',
'Team_Points Per Value_Bar.png',
'Driver_Average Points Per Value.png',
'Team_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [Path(f'{directory_path}/{race}_{file}') for file in ppv_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
subprocess.run(["python", "manager.py", f'{year}'])
CompletedProcess(args=['python', 'manager.py', '2024'], returncode=0)
Manager Scores¶
It's a return to form for Patrick this week and Johnny UniHaas who take the top step of the podium by 1 point ahead of Stefanus and Syahrul, the pair come in with 217 and 216 points, respectively. Former title contender Tom and Mc Sled Dogs are in third with 211 ahead of James and Bwoah OnlyFans VIP Racing with 205 points. Stefanus and Gelael round out the top five with 204 points. All very tight at the top indeed. Andrew and sBinnala Yacht Club take the honours at the bottom of the field with -5 points. Will is in second with The Big One, tied with Joe and alpine sandbags on 14 points. Charlie and Lee Carvallo's F1 Challen are in third with 17 points, ahead of Stuart and Ferrari Strategists with 20 points. Patrick and Racing No Points rounds out the bottom five this week with 22 points.
Stefanus holds on to that top step for another week with Haryanto and Syahrul in second, the two teams are on 2895 and 2685 points, respectively. Patrick makes the climb back to third place this week with Johnny UniHaas and 2613 points ahead of Stefanus and Gelael in fourth with 2605 points. James and Bwoah OnlyFans VIP Racing round out the top five with 2436 points. Patrick leads the way still at the bottom of the table with Racing No Points and 438 points ahead of Will and The Big One in second with 454 points. Joe and alpine sandbags are in third place with 485 points ahead of Charlie and Lee Carvallo's F1 Challen with 511 points. Stuart and Ferrari Strategists round out the bottom five with 536 points.
Our biggest winner this week is Tom and Mc Sled Dogs who jump up 6 places in the standings. Will and Push to Pass are second with 4 places gained. Phil climbs back up the order after a poor Silverstone with A Little Team gaining 3 places. Val and Jo are our biggest losers this week, Make A U Turn and PARADISE LOST both dropping 5 places in the standings. Toby and Val are in second with their teams Hesketh 2.1 and My Fav'rit Colour Is Blue both dropping 4 places. Joe and not competent or competitive round out the bottom three with 3 places dropped.
team_files = [
'LeagueTeams_Points_Bar.png',
'LeagueTeams_Sum Points_Bar.png',
'LeagueTeams_Sum Points.png',
'LeagueTeams_PositionsGained_Bar.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in team_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
After some shady deals with a Saudi Arabian Oil Company sponsorship, Bwoah OnlyFans VIP Racing return to the top of the pile for cash reserves, the team are now valued at $124.3 ahead of Madlen and Les Eclairs with a value of $123.5. Stefanus and Haryanto round out the top three with a value of $120.2. Times are hard down at The Big One with manager Will reporting financial hardship on a new level, the team are running on a value of $54.3. Patrick and Racing No Points clearly found some money down the back of the sofa with a value of $55.4, just behind Stuart and Ferrari Strategists with a value of $56.1. All values are given in millions.
I say it every week, but it's not about how much money you have it's how many points you eek out of every dollar. Patrick and Johnny UniHaas are the top team in that regard this week, with a points per value of 1.87 ppm ahead of Stefanus and Syahrul and Tom and Mc Sled Dogs with 1.83 ppm, in second. Stefanus and Gelael are in third place with 1.78 ppm ahead of Madlen and Go Boys Give Us Nothing with 1.73 ppm. Andrew, Joe, and Sebastian round out the top five with their teams I Simp For Zak Brown, kicktwitchyoutubepremium, and Denso Panasonic Toyota F1 with 1.66 ppm. Andrew and sBinnala Yacht Club are the worst team of the week with -0.08 ppm, behind Joe and alpine sandbags with 0.24 ppm. Will and The Big One are next, our cheapest team, with a 0.26 ppm score. Charlie and Lee Carvallo's F1 Challen are next up in fourth with 0.28 ppm, while Stuart and Ferrari Strategists round out the bottom five with 0.36 ppm. Points per million (ppm).
team_files = [
'LeagueTeams_Values_Bar.png',
'LeagueTeams_Sum Values.png',
'LeagueTeams_Points Per Value_Bar.png',
'LeagueTeams_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in team_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
Stefanus sits at the top of the managerial scores, with their three teams coming in with 8185 points ahead of Sebastian and Josh with 6617 and 6530 points, respectively. It's Cameron in fourth place with their teams scoring a combined 6409 points, and impressively Pete rounds out the top five with their three teams scoring 6333 points. Our lowest scoring managers are the one-team heroes Chloe, Tim, Sam, and Toby, scoring 1746, 2120, 2374, and 2379 respectively. In fifth place at the bottom, we have Patrick with 3051 points.
Manager of the week this week is Stefanus who scored an average of 205.67 points. Sam CJ is a distant second with 186 points and Madlen in third with 171.67 points. Your worst manager of the week is Charlie with an average score of 99, just behind Joe with 103.67 and Stuart with 108 points.
manager_files = [
'LeagueManagers_Sum Points_Bar.png',
'LeagueManagers_Sum Points.png',
'LeagueManagers_Average Points_Bar.png',
'LeagueManagers_Sum Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in manager_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
Manager of the week is Stefanus with a points per value of 1.75 ppm, leaps ahead of Sam-CJ in second with 1.6 ppm and Madlen in third with 1.45 ppm. Worst manager of the week is Jo with a points per value of 1.01 ppm. They're joined by Charlie with 1.02 ppm and Pierce with 1.03 ppm.
manager_files = [
'LeagueManagers_Sum Values.png',
'LeagueManagers_Average Values_Bar.png',
'LeagueManagers_Points Per Value_Bar.png',
'LeagueManagers_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in manager_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None]
Nico Hulkenberg is the most selected driver this week with 30 of you selecting him for your teams. Yuki Tsunoda and Alex Albon make the cut 27 times each in second, with Logan Sargeant and Lando Norris getting 26 selections of the possible 65. Max Verstappen is fourth with 24 selections and Guanyu Zhou rounds out the top five with 21 selections this week. Oliver Bearman is showing as 2 for some reason this week, though we know it's only 1. In classic fantasy league fashion, I will be re-examining the function that counts this over the summer break when I have some time between races to check. Sergio Perez only makes the cut 5 times this week, with Carlos Sainz managing a full 7 seats in third. Lance Stroll is in 8 teams across the grid this week, while Lewis Hamilton and Esteban Ocon make 10 selections each to round out the bottom five.
Haas are flavour of the week this week, clearly. They make 22 of the 65 selections this week ahead of McLaren and Ferrari in second with 20 selections. Mercedes round out the top three with 16 selections. Aston Martin are dropping like a stone with only 6 of you selecting them for your teams. Alpine and Red Bull make 7 each in second, behind Williams who are on 9 selections to round out the bottom three.
Lando Norris takes a huge swing out of Verstappen in the DRS Boost selection, he's topping the table this week with 24 selections ahead of Max with 19. Logan Sargeant is now in third with 5 DRS Boosts. We had 1 Extra DRS token this week, going to Verstappen. We also had 2 wildcard tokens and 2 no negative tokens used this week.
count_files = [
'LeagueCounts_Driver_Bar.png',
'LeagueCounts_Constructor_Bar.png',
'LeagueCounts_DRS Boost_Bar.png',
'LeagueCounts_Extra DRS_Bar.png',
'LeagueCounts_Perks_Bar.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in count_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None, None]
count_files = [
'LeagueSumCounts_Driver.png',
'LeagueSumCounts_Constructor.png',
'LeagueSumCounts_DRS Boost.png',
'LeagueSumCounts_Extra DRS.png',
'LeagueSumCounts_Perks.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
Path(f'{directory_path}/{race}_{file}') for file in count_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None, None, None]
For more figures, please see the Facebook group album.
subprocess.run(["python", "league_prizes.py", f'{year}'])
CompletedProcess(args=['python', 'league_prizes.py', '2024'], returncode=0)
Prizes¶
Hungary was a spot prize, the prize was for the lowest score at the Hungarian Grand Prix, entitled "Bottas Bowling" as a reference back to the 2021 Hungarian Grand Prix where the race started in the wet and Bottas decided to plough a McLaren into the side of both Red Bull cars to help his teammate win the race, I mean..... because he was out of control. The prize this week goes to Andrew and sBinnala Yacht Club with -5 points.
It's back-to-back lowest score spot prize weekends this week, with Belgium coming up next. In play this week "The Sauce" for the lowest score in Belgium.
directory_path = Path(f'{root}/Data/{year}/Figures/Prizes')
file_paths = [
Path(f'{directory_path}/{file}') for file in
os.listdir(directory_path) if f'{race}' in file]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None]
F1 Play¶
Our weekly winner in the F1 play league this week was Josh who scraped 2/10 predictions correctly. Tim was in second with 1/10, while Matty and Stuart bring home a pair of 0s.
That takes the scores to:
Stuart - 31
Josh - 36
Matty - 16
Tim - 36
F1_play = {
"Stuart S": [3, 5, 2, 4, 0, 2, 0, 3, 5, 4, 0, 3, 0],
"Matty J": [2, 2, 0, 0, 3, 3, 0, 2, 3, 0, 0, 1, 0],
"Josh M": [2, 3, 2, 6, 3, 3, 3, 2, 7, 0, 2, 1, 2],
"Tim W": [0, 3, 3, 0, 2, 3, 4, 4, 2, 7, 4, 3, 1]}
io.save_json_dicts(
out_path=Path(f'{root}/Data/{year}/F1_Play.json'),
dictionary=F1_play)
subprocess.run(["python", "F1_play.py", f'{year}'])
points_files = [
'Points.png',
'Sum Points.png',
'Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/F1_Play')
file_paths = [Path(f'{directory_path}/{race}_F1Play_{file}') for file in points_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
[None, None, None]
Next Up¶
Next up is the Belgian Grand Prix at Spa Francorchamps, another classic F1 circuit. It's a normal race weekend for this year, so usual practice and qualifying formats to look forward to. Spa has often thrown up some unusual races, so be ready for some chaos. Remember, it's a lowest score prize week.